// AssociationManagementActivity.java
package com.xxxy.ljh.myapplication.activity;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import com.google.android.material.tabs.TabLayout;
import com.xxxy.ljh.myapplication.R;
import com.xxxy.ljh.myapplication.activity.Fragment.ActivityManagementFragment;
import com.xxxy.ljh.myapplication.activity.Fragment.ItemManagementFragment;
import com.xxxy.ljh.myapplication.activity.Fragment.MemberManagementFragment;
import com.xxxy.ljh.myapplication.model.User;

/**
 * 社团管理主界面Activity
 * <p>
 * 提供三个Tab页签用于管理社团的不同模块：活动、成员和物品。
 * 每个Tab对应一个Fragment进行具体功能展示与操作。
 */
public class AssociationManagementActivity extends AppCompatActivity {

    private TabLayout tabLayout;
    private TextView tvAssociationName;
    private User currentUser;
    private int associationId; // 需要从Intent获取社团ID

    /**
     * Activity创建时调用的方法
     * <p>
     * 初始化布局并设置Tab页面
     *
     * @param savedInstanceState 保存的实例状态Bundle对象
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_association_management);

        // 保存用户管理的社团ID到SharedPreferences中，供其他页面使用
        SharedPreferences prefs = getSharedPreferences("user_prefs", MODE_PRIVATE);
        associationId = prefs.getInt("managed_association_id", 1); // 默认值为1
        
        initViews();
        setupTabs();
    }

    /**
     * 初始化视图组件
     * <p>
     * 获取布局中的控件引用，并尝试从Intent中提取用户及社团相关信息（当前被注释）
     */
    private void initViews() {
        tabLayout = findViewById(R.id.tab_layout);
        tvAssociationName = findViewById(R.id.tv_association_name);

        // 从Intent获取用户信息和社团信息
//         currentUser = getIntent().getParcelableExtra("user");
//         associationId = getIntent().getIntExtra("association_id", -1);
    }

    /**
     * 设置Tab标签及其监听器
     * <p>
     * 添加"活动管理"、"成员管理"、"物品管理"三个Tab，
     * 并绑定Tab选择事件以切换对应的Fragment内容。
     * 默认加载第一个Tab的内容。
     */
    private void setupTabs() {
        tabLayout.addTab(tabLayout.newTab().setText("活动管理"));
        tabLayout.addTab(tabLayout.newTab().setText("成员管理"));
        tabLayout.addTab(tabLayout.newTab().setText("物品管理"));

        // 设置Tab选择监听器
        tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                Fragment fragment = null;
                switch (tab.getPosition()) {
                    case 0:
                        fragment = new ActivityManagementFragment();
                        break;
                    case 1:
                        fragment = new MemberManagementFragment();
                        break;
                    case 2:
                        fragment = new ItemManagementFragment();
                        break;
                }

                if (fragment != null) {
                    FragmentManager fragmentManager = getSupportFragmentManager();
                    FragmentTransaction transaction = fragmentManager.beginTransaction();
                    transaction.replace(R.id.fragment_container, fragment);
                    transaction.commit();
                }
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                // Tab未选中时的操作（通常为空）
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {
                // Tab重新选中时的操作（通常为空）
            }
        });

        // 默认加载第一个Fragment
        Fragment fragment = new ActivityManagementFragment();
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.fragment_container, fragment);
        transaction.commit();
    }
}